iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 16
0
自我挑戰組

每天一份前端小作品系列 第 16

【Day16】用JavaScript改變網頁背景

  • 分享至 

  • xImage
  •  

本日小作品:
https://codepen.io/linchinhsuan/pen/wvGZzyR

var el = document.getElementById("webBackground");
el.addEventListener("change",function(e){......}

在select上加上事件監聽,當所選擇的值切換時,會觸發change事件,進一步執行函式內的內容。

var choose = e.target.value;

e.target即所觸發事件的dom元素,假設我們切換到【火車背景】,那這個元素就是<option value="train">火車背景</option>,透過.value撈出元素的值,以這個例子來說就是train,並賦值到變數choose上。

var wrap = document.querySelector(".wrap");
    switch(choose){
        case "light":
            wrap.setAttribute("class","wrap " + choose);
            break;
        case "train":
            wrap.setAttribute("class","wrap " + choose);
            break;
        case "tree":
            wrap.setAttribute("class","wrap " + choose);
            break;
    };

宣告一個變數wrap,即背景的dom元素。透過switch來進行判定,括號內帶入前面得到的變數choose,以前面的案例來說就是train,符合第二個case。所以會執行wrap.setAttribute("class","wrap " + choose);這段程式碼,將wrap上加上一個新的class。
最後,透過三個各自與choose同名的class來讓不同背景之間得以切換。

---

本日結語:
今天是十六天,今天主要是練習select和change事件之間的應用,如有寫錯之處麻煩各路高手指教><


上一篇
【Day15】用JavaScript改變骰子顏色
下一篇
【Day17】用JavaScript衝過終點線
系列文
每天一份前端小作品30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言